iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
Modern Web

30 天淺入淺出 Next.js 13系列 第 16

Day 16 - loading 在頁面讀取時先顯示預設 UI

  • 分享至 

  • xImage
  •  

TOC

  • loading 是什麼
  • 使用方式
  • 一些建議

loading 是什麼

loadingapp router 中的特殊保留字,建立以 loading 為命名的 component 後,在頁面讀取期間
可以先顯示 loading UI。

youtube 在載入時,也會先讓使用者看到一個 sketlon 的 loading UI。

使用方式

  1. 建立 loading 檔案
  2. export default loading component
  • 建立 loading 檔案
  • export default loading component
export default function Loading() {
  // You can add any UI inside Loading, including a Skeleton.
  return <LoadingSkeleton />
}

loadingSuspense

Day9 鐵人賽 有提到可以用 Suspense 來包住 async server component,在讀取期間先顯示 fallback UI,直到這個 server component 讀取完才會替換掉。

loading 則是 pagefallback UI,也是用 Suspense 實作。只是 Next 會對 loading component 做一些額外的優化,所以 page-level 的 Suspense 建議還是使用預設的 loading component 實作。

參考資料


上一篇
Day15 - Template 它很像但不是 Layout
下一篇
Day 17 - Streaming 為你的 web vitals 加分
系列文
30 天淺入淺出 Next.js 1321
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言